From: Carlos Garnacho Date: Fri, 29 May 2020 13:43:55 +0000 (+0200) Subject: padOsd: Move all coord/existence checks to _addLabel() X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~338 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c511c469fe9826de896a1adb97a0069b87273ef6;p=gnome-shell.git padOsd: Move all coord/existence checks to _addLabel() Drops some repetitive code. Also rely completely on the label/leader elements being found in order to find buttons/rings/strips. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290 --- diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js index 4a28126f3..500f74ccf 100644 --- a/js/ui/padOsd.js +++ b/js/ui/padOsd.js @@ -345,29 +345,22 @@ var PadDiagram = GObject.registerClass({ } _initLabels() { - // FIXME: Fix num buttons. let i = 0; - for (i = 0; i < 50; i++) { - let [found] = this._getLabelCoords(Meta.PadActionType.BUTTON, i); - if (!found) + for (i = 0; ; i++) { + if (!this._addLabel(Meta.PadActionType.BUTTON, i)) break; - this._addLabel(Meta.PadActionType.BUTTON, i); } - for (i = 0; i < 2; i++) { - let [found] = this._getLabelCoords(Meta.PadActionType.RING, i, CW); - if (!found) + for (i = 0; ; i++) { + if (!this._addLabel(Meta.PadActionType.RING, i, CW) || + !this._addLabel(Meta.PadActionType.RING, i, CCW)) break; - this._addLabel(Meta.PadActionType.RING, i, CW); - this._addLabel(Meta.PadActionType.RING, i, CCW); } - for (i = 0; i < 2; i++) { - let [found] = this._getLabelCoords(Meta.PadActionType.STRIP, i, UP); - if (!found) + for (i = 0; ; i++) { + if (!this._addLabel(Meta.PadActionType.STRIP, i, UP) || + !this._addLabel(Meta.PadActionType.STRIP, i, DOWN)) break; - this._addLabel(Meta.PadActionType.STRIP, i, UP); - this._addLabel(Meta.PadActionType.STRIP, i, DOWN); } } @@ -583,9 +576,14 @@ var PadDiagram = GObject.registerClass({ } _addLabel(type, idx, dir) { + let [found] = this._getLabelCoords(type, idx, dir); + if (!found) + return false; + let label = new St.Label(); this._labels.push([label, type, idx, dir]); this.add_actor(label); + return true; } updateLabels(getText) {